#if !defined(__SYNCHRO_CLIENT_H)
#define __SYNCHRO_CLIENT_H

#include "synchronisation.h"

template <>
synchronisation<client_reseau>::synchronisation(client_reseau &t) throw(erreur) : moyenne_roundtrip_(0) {	
	temps::type_temps now = temps::maintenant();
	t.emetteur().envoyer_tcp(reinterpret_cast<char*> (&now), sizeof(temps::type_temps));
	
	instantane_du_piano instantane_recu;

	int nb_recus = 0;
	minuterie<sans_attente> m(timeout);
	while(!m)
		// Réception éventuelle d'un paquet avec renvoi
		if(t.recepteur().recevoir_udp(instantane_recu)) {
			++nb_recus;
			// On tatoue l'instantané de notre marque
			instantane_recu[do1] = true;
			// Renvoi
			t.emetteur().envoyer_udp(instantane_recu);
		}
	
	// En guise d'informations, donnons un indicateur de la santé de la connexion
	sante_connexion_ = nb_recus * 1.0f / nb_a_envoyer;
	// Par contre, on ne connaîtra pas la moyenne d'un roundtrip.
}

#endif
